package cxydmmszl.chapter09.t147;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * <li style="color: red;">Prob</li>
 * 一行代码求两个数的最大公约数
 * <li style="color: green;">Desc</li>
 * 给定两个不等于0的整数M和N，求M和N的最大公约数。
 * <li style="color: green;">Input</li>
 * 输入有两个整数，分别表示 M, N。
 * <li style="color: green;">Output</li>
 * 一个整数表示 M,N 的最大公约数
 * <li style="color: blue;">Link</li> CD55
 *
 * @author habitplus
 * @since 2021-10-11 21:08
 */
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            String[] ss = br.readLine().split(" ");
            int n = Integer.parseInt(ss[0]);
            int m = Integer.parseInt(ss[1]);

            int ans = gcd(n, m);
            System.out.println(ans);
        }
    }

    /*
        递归 or 非递归
     */
    private static int gcd(int n, int m) {
//        return m == 0 ? n : gcd(m, n % m);
        if (n < m) return gcd(m, n);
        // 以下一定是 n > m 的情况
        int t;
        while (m != 0) {
            t = n % m;
            n = m;
            m = t;
        }

        return n;
    }
}
